package com.fanxin.app.main.moments;


import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;

import com.fanxin.app.R;

public class AddPopWindow extends PopupWindow {
    private View conentView;
    private  Activity context;
    public AddPopWindow(final Activity context, ImageView iv_temp, final ClickCallBack clickCallBack) {
        this.context=context;
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        conentView = inflater.inflate(R.layout.fx_popwindow_moments, null);

        // 设置SelectPicPopupWindow的View
        this.setContentView(conentView);
        // 设置SelectPicPopupWindow弹出窗体的宽
        this.setWidth(LayoutParams.WRAP_CONTENT);
        // 设置SelectPicPopupWindow弹出窗体的高
        this.setHeight(LayoutParams.WRAP_CONTENT);
        // 设置SelectPicPopupWindow弹出窗体可点击
        this.setFocusable(true);
        this.setOutsideTouchable(true);
        // 刷新状态
        this.update();
        // 实例化一个ColorDrawable颜色为半透明
        ColorDrawable dw = new ColorDrawable(0000000000);
        // 点back键和其他地方使其消失,设置了这个才能触发OnDismisslistener ，设置其他控件变化等操作
        this.setBackgroundDrawable(dw);

        // 设置SelectPicPopupWindow弹出窗体动画效果
        this.setAnimationStyle(R.style.AnimationPreview);

        LinearLayout ll_zan = (LinearLayout) conentView
                .findViewById(R.id.ll_zan);
        LinearLayout ll_pl = (LinearLayout) conentView.findViewById(R.id.ll_pl);
        TextView tv_good = (TextView) conentView.findViewById(R.id.tv_good);
        tv_good.setText((String) iv_temp.getTag());
        ll_zan.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // context.startActivity(new

                clickCallBack.clicked(1);

                AddPopWindow.this.dismiss();

            }

        });
        ll_pl.setOnClickListener(new OnClickListener() {
            // 扫一扫 ，调出扫二维码 gongfan
            @Override
            public void onClick(View v) {
                clickCallBack.clicked(2);

                AddPopWindow.this.dismiss();

            }

        });

    }

    /**
     * 显示popupWindow
     *
     * @param parent
     */
    public void showPopupWindow(View parent) {
        if (!this.isShowing()) {
            int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
            int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
            conentView.measure(w, h);
            int height =conentView.getMeasuredHeight();
            int width =conentView.getMeasuredWidth();
            //
            // this.showAsDropDown(parent, 0, 0);
            // this.showAtLocation(parent, gravity, x, y);


            int[] location = new int[2];
            parent.getLocationOnScreen(location);
            this.showAtLocation(parent, Gravity.NO_GRAVITY,
                    location[0]-width, location[1]);


        } else {
            this.dismiss();
        }
    }

    /**
     *
     *
     */
    public interface ClickCallBack {
        void clicked(int type);
    }
}
